

# https://www.google.com/search?q=%E5%91%A8%E6%9D%B0%E4%BC%A6

# 需求：获取https://www.google.com/search?q=周杰伦 的网页源码
import urllib.request
import urllib.parse
url = 'https://www.google.com/search?q='

# 请求对象的定制是解决反爬虫机制的第一种手段
headers = {
    'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'
}

# 将周杰伦三个字变成Unicode编码的格式
# 需要依赖于urllib.parse需要import urllib.parse 接着用quote方法把‘周杰伦’变成对应的Unicode编码
name = urllib.parse.quote('周杰伦')
print(name)
url = url + name  #拼接起来变成完整的url
print(url)

# 因为urlopen方法不能转递字典，但可以传递request对象类型，所以需要定制一个请求对象
request = urllib.request.Request(url=url,headers=headers)

# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(request)

# 获取请求返回的内容
content = response.read().decode('utf-8')

print(content)